package com.udata.server.persistence.dao;

import java.util.List;

import com.udata.server.persistence.dao.impl.CurrencyRateDaoImpl;
import com.udata.server.persistence.model.CurrencyRate;

public abstract class CurrencyRateDao {
	static CurrencyRateDao instance = null;

	public static CurrencyRateDao getInstance() {
		if (instance == null) {
			instance = new CurrencyRateDaoImpl();
		}
		return instance;

	}

	public abstract CurrencyRate saveCurrencyRate(CurrencyRate currencyRate)
			throws Exception;

	public abstract CurrencyRate loadCurrencyRate(String id) throws Exception;

	public abstract List<CurrencyRate> searchCurrencyRate(String query)
			throws Exception;

	public abstract List<CurrencyRate> parseCurrencySource() throws Exception;

	public abstract String getJson(String from, List<String> to,
			String startDate, String endDate) throws Exception;

	public abstract List<String> getCountryList() throws Exception;

	public abstract void deleteCurrency();

}
